Linear Search in Python? [closed]

Posted by POTUS on Programmers See other posts from Programmers or by POTUS
Published on 2012-08-30T03:30:24Z Indexed on 2012/08/30 3:48 UTC
Read the original article Hit count: 343

Filed under:

def find_interval(mesh,x): '''This function finds the interval containing x according to the following rules, mesh is an ordered list with n numbers return 0 if x < mesh[0] return n if mesh[n-1] < x return k if mesh[k-1] <= x < mesh[k] return n-1 if mesh[n-2] <= x <= mesh[n-1]

This function does a Linear search.

08/29/2012
'''
for n in range(len(mesh)):
      for k in range(len(mesh)):
    if     x == mesh[n]:
             print "Found x at index:"
                     return n
            elif   x<mesh[n]:
                     return 0
            elif   mesh[n-1]<x:
                     return n  
            elif   mesh[n-2]<=x<=mesh[n-1]:
                     return n-1  
            elif   mesh[k-1]<=x<mesh[k]:
                     return k

mesh = [0, 0.1, 0.25, 0.5, 0.6, 0.75, 0.9, 1] print mesh print find_interval(mesh, -1)

print find_interval(mesh, 0)

print find_interval(mesh, 0.1)

print find_interval(mesh, 0.8)

print find_interval(mesh, 0.9)

print find_interval(mesh, 1)

print find_interval(mesh, 1.01)

Output: [0, 0.100000000000000, 0.250000000000000, 0.500000000000000, 0.600000000000000, 0.750000000000000, 0.900000000000000, 1] 0 Found x at index: 0 2 6 -1 -1 0

I don't think the output is correct. Can anyone help me fix it? Thanks.

© Programmers or respective owner

Related posts about python